Null Suspicious Reference (NSR)

Description:

NSR detects situations when a reference is dereferenced without checking for nil but in another context such check is performed, so it is assumed that the reference can contain a nil value.

Incorrect:

procedure printMessage(msg:MyMessage)
    msg.print();
    if msg <> nil then
    begin
        ...
    end;
end;

Correct:

procedure printMessage(msg:MyMessage)
    if msg <> nil then
    begin
        msg.print();
        ...
    end;
end;